using System;
using System.Reflection;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using WindowsPhoneEssentials.Storage;

namespace WindowsPhoneMVC.Navigation.Interfaces
{
    public interface IPhoenixApplication
    {
        /// <summary>
        /// Allows discovery of Controllers and Views in assemblies other than the main application assembly
        /// </summary>
        /// <param name="assembly"></param>
        void AddAssemblyToScan(Assembly assembly);
        ITransientStore ApplicationTransientState { get; }
        string FrameName { get; }
        event EventHandler<ActivatedEventArgs> Activated;
        event EventHandler<DeactivatedEventArgs> Deactivated;
        event EventHandler<ObscuredEventArgs> Obscured;
        event EventHandler Unobscured;
    }
}